const { defineConfig } = require('@vue/cli-service')
module.exports = defineConfig({
  transpileDependencies: true,
  lintOnSave: false,
  css: {
    loaderOptions: {
      less: {
        // 覆盖 Vant 中默认的 Less 变量
        lessOptions: {
          modifyVars: {
            'index-anchor-background-color': '#f9f9f9', // IndexBar 索引栏背景色
            'index-anchor-sticky-background-color': '#f9f9f9', // IndexBar 索引栏自动吸顶时的背景色
            'toast-text-min-width': '20px', // Toast 轻提示文本区域最小宽度
            'toast-text-padding': '@padding-xs @padding-xs', // Toast 轻提示padding值
            'nav-bar-text-color': '@text-color', // NavBar 导航栏文本颜色
            'nav-bar-icon-color': '@text-color', // NavBar 导航栏图标颜色
            'nav-bar-title-font-size': '17px', // NavBar 导航栏标题字体大小
            'nav-bar-arrow-size': '24px', // NavBar 导航栏左侧箭头大小
            'nav-bar-z-index': '10', // NavBar 导航栏 z-index 层级
            'search-content-background-color': '@white', // Search 搜索文本区域背景色
            'tabs-bottom-bar-width': '56px', // Tab 标签页底部滑块长度
            'tabs-bottom-bar-color': '#ff5f16', // Tab 标签页底部滑块颜色
            'dropdown-menu-title-font-size': '14px', // DropdownMenu 下拉菜单标题字体大小
            'overlay-background-color': 'rgba(0, 0, 0, 0.5)' // 遮罩层透明度
          }
        }
      }
      // vue-cli5 中配置 postcss-px-to-viewport 将px动态转换为vw
      /* postcss: {
        postcssOptions: {
          plugins: [
            [
              'postcss-px-to-viewport',
              {
                unitToConvert: 'px',      // 需要转换的单位，默认为"px"
                viewportWidth: 375,       // 设计稿的视窗宽度
                unitPrecision: 5,         // 单位转换后保留的精度
                propList: ['*'],          // 能转化为 vw 的属性列表 '!font-size'表示font-size不能转换
                viewportUnit: 'vw',       // 希望使用的视窗单位
                fontViewportUnit: 'vw',   // 字体使用的视窗单位
                selectorBlackList: [],    // 需要忽略的 CSS 选择器，不会转为视窗单位，使用原有的 px 等单位
                minPixelValue: 1,         // 设置最小的转换数值，如果为 1 的话，只有大于 1 的值会被转换
                mediaQuery: false,        // 媒体查询里的单位是否需要转换单位
                replace: true,            // 是否直接更换属性值，而不添加备用属性
                exclude: undefined,       // 忽略某些文件夹下的文件或特定文件，例如 'node_modules' 下的文件
                include: /\/src\//,       // 如果设置了include，那将只有匹配到的文件才会被转换
                landscape: false,         // 是否添加根据 landscapeWidth 生成的媒体查询条件
                landscapeUnit: 'vw',      // 横屏时使用的单位
                landscapeWidth: 1125,     // 横屏时使用的视窗宽度
              }
            ]
          ]
        },
      }, */
    }
  }
})
